今天我們要來看OWASP列出來的前10大攻擊手法是甚麼XD
讓我們之後開發Web應用程式能避免掉這些雷。
項次 | 中文名稱 | 英文名稱 |
---|---|---|
A01 | 權限控制失效 | Broken Access Control |
A02 | 加密失敗 | Cryptographic Failures |
A03 | 注入漏洞 | Injection |
A04 | 不安全的設計 | Insecure Design |
A05 | 安全配置錯誤 | Security Misconfiguration |
A06 | 失效身份驗證及會話管理 | Vulnerable and Outdated Components |
A07 | 跨站指令碼 | Identification and Authentication Failures |
A08 | 軟體和資料完整性失效 | Software and Data Integrity Failures |
A09 | 安全記錄和監控失敗 | Security Logging and Monitoring Failures |
A10 | 伺服端請求偽造 | Server-Side Request Forgery (SSRF) |
這是當應用程式未能正確限制user的操作時出現的漏洞。攻擊者可能利用這漏洞訪問本不應該有權限查看的資料,或執行未經授權的操作。
可能會造成隱密的資料外洩,讓系統遇到極大的危險,例如被駭客取得admin帳號等。
這牽扯到資料的保密性和完整性。加密失敗可能會導致敏感資料(如密碼、信用卡)被洩露或未經授權的訪問。
例如密碼用base64編碼就當有加密(bad!
當不被信任的資料透過表單輸入或其他提交到 Web 應用程式的資料傳送到程式解譯器時,就會發生資料隱碼攻擊。SQL注入、NoSQL注入等都是這類問題的例子。攻擊者可以利用這些漏洞執行任意命令或訪問未經授權的資料。
這是一種基於設計層面的漏洞,當應用程式在設計過程中未能考慮到安全性時,會導致系統容易受到攻擊。這提醒我們在開發過程中需要從一開始就將安全性納入考量。
例如我們的api沒卡權限,讓任何人都可以打,就是一種不安全的設計。
這是指由於錯誤配置或缺少必要的安全設定,導致應用程式暴露在風險之中。常見的例子包括使用默認設置(預設db密碼)、不必要的功能或debug訊息暴露等。
這是指在應用程式的身份驗證和會話管理設計中,出現的漏洞可能導致未經授權的訪問或操作。這個漏洞的主要問題在於user身份或會話的管理不當,使得攻擊者能夠繞過身份驗證機制。
例如攻擊者將一個被竊取的Session ID發送給受害者(通過電子郵件或連結釣魚 超壞),然後當受害者登入時,攻擊者就能利用這個會話 ID 獲取未經授權的存取權限。
身份驗證機制的薄弱或不當管理可能導致未授權的存取,例如使用者的密碼不夠複雜,很容易被破解。
這項是2021新加入的類別,專注於軟體更新、CI/CD管道中的資料完整性問題。
軟體及資料完整性失效是由於缺乏資料完整性驗證過程而使用篡改或損壞的資料做出某些決定的狀況。 例如駭客使用惡意軟體去破壞軟體更新文件,而應用程式會自動安裝更新,而無需驗證文件是否為原始文件。
是指應用程式缺乏足夠的安全記錄和監控機制,無法及時發現和應對安全事件。
例如使用者頻繁、多次登入的紀錄等。
是指攻擊者利用應用程式讓伺服器發送惡意請求,這些請求可能訪問內部資源,或進一步攻擊其他系統。
例如伺服器可能無法區分內部和外部資源,導致攻擊者能夠利用 SSRF 訪問內部網路資源。
今天認識了top 10會發生的資安危機,我們應該要在應用程式開發和管理中加強防範,以免造成危機發生XD
資安是我們生活上也必須注意的,不只是開發上要注意,例如不要點擊來路不明的email連結,或是不要亂下載未知的檔案,以免造成資安危機~
https://owasp.org/Top10/zh_TW/
https://www.cloudflare.com/zh-tw/learning/security/threats/owasp-top-10/
https://www.heminfosec.com/eDM/2021-10-OWASPtop10-2021-WAPPLES-OSCAN.html